package com.deer.wms.system.manage.service;

import com.deer.wms.project.root.service.SuperService;
import com.deer.wms.system.manage.model.ware.WareUser;
import com.deer.wms.system.manage.model.ware.WareUserCriteria;
import com.deer.wms.system.manage.model.ware.WareUserDto;

import java.util.List;


/**
 * @author guo
 * @since 2019/11/05
 */
public interface WareUserService extends SuperService<WareUser> {
    /**
     * 按照criteria条件查询
     *
     * @param criteria criteria
     * @return List<WareUserDto>
     */
    List<WareUserDto> findList(WareUserCriteria criteria);

    /**
     * 根据仓库ID查询
     *
     * @param wareId 仓库ID
     * @return List<WareUserDto>
     */
    List<WareUserDto> findByWareId(Integer wareId);

    /**
     * 根据仓库ID删除
     *
     * @param wareId wareId
     */
    void deleteByWareId(Integer wareId);

    /**
     * 新增仓库用户关联
     * @param userId 用户ID
     * @param wareId 仓库ID
     * @param createUserId 创建人
     */
    void addWareUser(Integer userId, Integer wareId, Integer createUserId);

    /**
     * 新增库区用户关联
     * @param userId 用户ID
     * @param areaId 库区ID
     * @param createUserId 创建人
     */
    void addAreaUser(Integer userId, Integer areaId, Integer createUserId);

    /**
     * 根据用户ID删除
     * @param userId 用户ID
     */
    void deleteByUserId(Integer userId);

}
